<?php
class User_model extends CI_Model {

   	function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }
	
	function all(){
		$query =  $this->db->get('tb_integrante');
		return $query->result_array();
	}
	
	function login($email, $password){
		$this->db->where('email',$email);
		$this->db->where('password',$password);
		$this->db->where('condicion', 'activo');
		$query =  $this->db->get('tb_integrante');
		return $query->result_array();
	}
	
	function find($field, $value)
	{	
		$this->db->select('tb_integrante.*, 
						   tb_posiciones_liderazgo.descripcion AS posicion_descripcion,
						   tb_tipo_buddy.descripcion AS tipo_buddy_descripcion, 
						   tb_club.nombre AS club_nombre');
		$this->db->from('tb_integrante');
		$this->db->join('tb_posiciones_liderazgo', 'tb_posiciones_liderazgo.cod_pos_liderazgo = tb_integrante.COD_POS_LIDERAZGO');
		$this->db->join('tb_tipo_buddy', 'tb_tipo_buddy.cod_tipo_buddy = tb_integrante.COD_TIPO_BUDDY');
		$this->db->join('tb_club', 'tb_club.id_club = tb_integrante.ID_CLUB');
		$this->db->where('tb_integrante.'.$field,$value);
		$query =  $this->db->get();
		return $query->result_array();
	}
	
	function get_count(){
		return $this->db->count_all('tb_integrante');
	}
	
	function get_paginated($limit, $offset){
		$this->db->select('tb_integrante.* , tb_tipo_buddy.descripcion AS tipo_buddy_descripcion, tb_club.nombre AS club_nombre');
		$this->db->from('tb_integrante');
		$this->db->join('tb_tipo_buddy', 'tb_tipo_buddy.cod_tipo_buddy = tb_integrante.COD_TIPO_BUDDY');
		$this->db->join('tb_club', 'tb_club.id_club = tb_integrante.ID_CLUB');
		$this->db->limit($limit, $offset);
		$query =  $this->db->get();
  		return $query->result_array();
	}
	
	function get_paginated_by_club($limit, $offset, $id_club){
		$this->db->select('tb_integrante.* , tb_tipo_buddy.descripcion AS tipo_buddy_descripcion, tb_club.nombre AS club_nombre');
		$this->db->from('tb_integrante');
		$this->db->join('tb_tipo_buddy', 'tb_tipo_buddy.cod_tipo_buddy = tb_integrante.COD_TIPO_BUDDY');
		$this->db->join('tb_club', 'tb_club.id_club = tb_integrante.ID_CLUB');
		$this->db->where('tb_integrante.ID_CLUB', $id_club);
		$this->db->limit($limit, $offset);
		$query =  $this->db->get();
  		return $query->result_array();
	}
	
	function search($field, $value){
		$this->db->select('tb_integrante.*, 
						   tb_posiciones_liderazgo.descripcion AS posicion_descripcion,
						   tb_tipo_buddy.descripcion AS tipo_buddy_descripcion, 
						   tb_club.nombre AS club_nombre');
		$this->db->from('tb_integrante');
		$this->db->join('tb_posiciones_liderazgo', 'tb_posiciones_liderazgo.cod_pos_liderazgo = tb_integrante.COD_POS_LIDERAZGO');
		$this->db->join('tb_tipo_buddy', 'tb_tipo_buddy.cod_tipo_buddy = tb_integrante.COD_TIPO_BUDDY');
		$this->db->join('tb_club', 'tb_club.id_club = tb_integrante.ID_CLUB');
		$this->db->like('tb_integrante.'.$field, $value);
		$query =  $this->db->get();
  		return $query->result_array();
	}
	
	function update($id, $data){
		$this->db->where('id_integrante', $id);
		$this->db->update('tb_integrante', $data);
	}
	
	function get_count_members_by_club($id_club){
		$this->db->where('ID_CLUB', $id_club);
		$this->db->from('tb_integrante');
		return $this->db->count_all_results();
	}
	
	function get_count_users_with_buddy(){
		$this->db->select("COUNT(id_integrante) AS rows FROM  tb_integrante WHERE ID_BEST_BUDDY IS NOT NULL");
		$query =  $this->db->get();
  		return $query->result_array();
	}
	
	function get_users_with_buddy($limit, $offset){
		$this->db->select("id_integrante FROM  tb_integrante WHERE ID_BEST_BUDDY IS NOT NULL");
		$this->db->limit($limit, $offset);
		$query =  $this->db->get();
  		return $query->result_array();
	}
	
	function insert($new){
		$this->db->insert('tb_integrante', $new);
	}	
}
?>








